// 导入 express 模块
const express = require('express')
// 创建 express 的服务器示例
const app = express()
// 导入 Node.js 内置的 querystring 模块
const qs = require('querystring');

// 解析表单的中间件（全局中间件）
app.use((req,res,next) => {
    // 定义中间件具体的业务逻辑
    // 定义变量，用来存储客户端发送过来的请求体数据
    let str = '';
    // 监听 req 对象的 data 事件（客户端发送过来的新的请求体数据）
    req.on('data' , (chunk) => {
        str += chunk;
    })

    // 监听 req 的 end 的事件
    req.on('end', () => {
        // 在str中存放的是完整的请求体数据
        // console.log(str);
        // TODO: 把字符串格式的请求体数据，解析成对象格式
        const body = qs.parse(str)
        req.body = body
        console.log(body);
        next()
    })
})

app.post('/user', (req,res) => {
    // res.send('ok')
    res.send(req.body)
})

// 调用 app.listen() 
app.listen(80,() => {
    console.log('Express server running at http://127.0.0.1');
})